package com.example.weather_plus.data.model;

import java.io.Serializable;
import java.util.List;
import java.util.Date;

/*
 * 即时天气信息
 */
public class WeatherInfo implements Serializable {
    private String code;
    private Date updateTime;
    private String fxLink;
    private Now now;
    private Refer refer;

    // Getter and Setter methods
    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public String getFxLink() {
        return fxLink;
    }

    public void setFxLink(String fxLink) {
        this.fxLink = fxLink;
    }

    public Now getNow() {
        return now;
    }

    public void setNow(Now now) {
        this.now = now;
    }

    public Refer getRefer() {
        return refer;
    }

    public void setRefer(Refer refer) {
        this.refer = refer;
    }

    // Nested classes
    public static class Now {
        private Date obsTime;
        private String temp;
        private String feelsLike;
        private String icon;
        private String text;
        private int wind360;
        private String windDir;
        private int windScale;
        private int windSpeed;
        private int humidity;
        private double precip;
        private int pressure;
        private int vis;
        private int cloud;
        private int dew;

        // Getters and Setters for Now class fields
        // ... (omitted for brevity, follow the same pattern as above)


        public Date getObsTime() {
            return obsTime;
        }

        public void setObsTime(Date obsTime) {
            this.obsTime = obsTime;
        }

        public String getTemp() {
            return temp;
        }

        public void setTemp(String temp) {
            this.temp = temp;
        }

        public String getFeelsLike() {
            return feelsLike;
        }

        public void setFeelsLike(String feelsLike) {
            this.feelsLike = feelsLike;
        }

        public String getIcon() {
            return icon;
        }

        public void setIcon(String icon) {
            this.icon = icon;
        }

        public String getText() {
            return text;
        }

        public void setText(String text) {
            this.text = text;
        }

        public int getWind360() {
            return wind360;
        }

        public void setWind360(int wind360) {
            this.wind360 = wind360;
        }

        public String getWindDir() {
            return windDir;
        }

        public void setWindDir(String windDir) {
            this.windDir = windDir;
        }

        public int getWindScale() {
            return windScale;
        }

        public void setWindScale(int windScale) {
            this.windScale = windScale;
        }

        public int getWindSpeed() {
            return windSpeed;
        }

        public void setWindSpeed(int windSpeed) {
            this.windSpeed = windSpeed;
        }

        public int getHumidity() {
            return humidity;
        }

        public void setHumidity(int humidity) {
            this.humidity = humidity;
        }

        public double getPrecip() {
            return precip;
        }

        public void setPrecip(double precip) {
            this.precip = precip;
        }

        public int getPressure() {
            return pressure;
        }

        public void setPressure(int pressure) {
            this.pressure = pressure;
        }

        public int getVis() {
            return vis;
        }

        public void setVis(int vis) {
            this.vis = vis;
        }

        public int getCloud() {
            return cloud;
        }

        public void setCloud(int cloud) {
            this.cloud = cloud;
        }

        public int getDew() {
            return dew;
        }

        public void setDew(int dew) {
            this.dew = dew;
        }
    }

    public static class Refer {
        private List<String> sources;
        private List<String> license;

        // Getters and Setters for Refer class fields
        // ... (omitted for brevity, follow the same pattern as above)
    }
}